﻿using System;
using System.Collections;

namespace QueueTest
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建 Queue 类的实例，模拟排队等在自助餐。
            Queue queue = new Queue();
            //向队列中加入3位等餐人
            queue.Enqueue("小白");
            queue.Enqueue("小红");
            queue.Enqueue("小绿");
            //等餐中
            while (queue.Count != 0)
            {
                Console.WriteLine(queue.Dequeue() + "可以进餐了！！！");
            }
            Console.WriteLine("以上三组人员吃完就关店...");
        
            Console.WriteLine("\n");

       //向 Queue 类的实例中添加 3 个值，在不移除队列中元素的前提下将队列中的元素依次输出。
        Queue queue1 = new Queue();
        queue1.Enqueue("aaa");
        queue1.Enqueue("AAA");
        queue1.Enqueue("ABC");
        object[] obj = queue1.ToArray();
            foreach (var i in obj)
            {
                Console.WriteLine(i);      
            }
        Console.WriteLine("\n");

         //GetEnumerator() 方法遍历
                Queue queue2 = new Queue();
                queue2.Enqueue("哥哥姐姐！！");
                queue2.Enqueue("叔叔阿姨！！");
                queue2.Enqueue("我的地摊儿有好多东西卖呢~~");
                IEnumerator enumerator = queue2.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    Console.WriteLine(enumerator.Current);
                }
        }        
    }
}
